import axios from 'axios'

/**
 * @return {string} 根据环境匹配的服务器地址
 */
const getBaseUrl = () => {
    console.log('Running in mode:', process.env.NODE_ENV);// production|development
    if (process.env.NODE_ENV === 'development') {
        return 'http://192.168.5.9:6090'
        //return 'http://gd123.vip:7747'
    } else if (process.env.NODE_ENV === 'production') {
        return 'http://127.0.0.1:6090'
    } else {
        throw new Error('未知的运行环境:' + process.env.NODE_ENV)
    }
}

/**
 * axios实例
 * @type {AxiosInstance}
 */
const api = axios.create({
    baseURL: getBaseUrl(), // 请求的公共地址部分
    timeout: 1 // 请求超时时间 当请求时间超过5秒还未取得结果时 提示用户请求超时
})

// 业务简单,暂不处理
// 添加请求拦截器
api.interceptors.request.use(config => {
    // 拼接请求头设备Id
    const deviceId = localStorage.getItem('deviceId');
    const token = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJsb2dpblR5cGUiOiJhZG1pbiIsImxvZ2luSWQiOjIyNCwicm5TdHIiOiJFbVpJamxoaDJjSXM3VThlMzdLZGU4a2E3eDc3c0RvViJ9.yjmH08x4tU_PujGFNBxhWJ37GMntax9e4mRiRR7xR_w";
    config.headers = {...config.headers,deviceId:deviceId,"Admin-Auth-Token":token}
    return config;
}, error => {
    return Promise.reject(error);
})

// 添加响应拦截器
api.interceptors.response.use(res => {
    // const data = res.data;
    // if (!data.suc) {
    //     console.error('服务器返回错误', data)
    //     return Promise.reject(data.msg);
    // }
    // return data;
     return res;
}, error => {
    console.error('服务器返回错误', error)
    alert(error)
    return Promise.reject(error);
})
export default api;
